﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using Entities;

namespace BLL
{
    public class PhanQuyenManager
    {
        public static ActionResultAsList<PhanQuyenInfo> LayDanhSachPhanQuyen()
        {
            var aResult = new ActionResultAsList<PhanQuyenInfo>();
            try
            {
                aResult.Result = PhanQuyenProvider.LayDanhSachPhanQuyen();
            }
            catch (Exception ex)
            {
                aResult.Exceptions.Add(ex);
            }
            return aResult;
        }

        public static ActionResult<bool> XoaPhanQuyen(int maNhomND, int maNhomQ)
        {
            var aResult = new ActionResult<bool>();
            try
            {
                aResult.Result = PhanQuyenProvider.XoaPhanQuyen(maNhomND, maNhomQ);
                if (!aResult.Result)
                {
                    aResult.Exceptions.Add(new Exception("Xóa thông tin phân quyền không thành công"));
                }
            }
            catch (Exception ex)
            {
                aResult.Exceptions.Add(ex);
            }
            return aResult;
        }

        public static ActionResult<bool> CapNhatPhanQuyen(PhanQuyen phanQuyen)
        {
            var aResult = new ActionResult<bool>();
            try
            {
                aResult.Result = PhanQuyenProvider.CapNhatPhanQuyen(phanQuyen);
                if (!aResult.Result)
                {
                    aResult.Exceptions.Add(new Exception("Cập nhật phân quyền không thành công"));
                }
            }
            catch (Exception ex)
            {
                aResult.Exceptions.Add(ex);
            }
            return aResult;
        }

        public static ActionResult<bool> ThemPhanQuyen(PhanQuyen phanQuyen)
        {
            var aResult = new ActionResult<bool>();
            try
            {
                aResult.Result = PhanQuyenProvider.ThemPhanQuyen(phanQuyen);
                if (!aResult.Result)
                {
                    aResult.Exceptions.Add(new Exception("Thêm mới phân quyền không thành công"));
                }
            }
            catch (Exception ex)
            {
                aResult.Exceptions.Add(ex);
            }
            return aResult;
        }
    }
}
